#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <signal.h>
#include <regex.h>

#define wrong_call "Se ha hecho una llamada incorrecta.\nModelo de la llamada: verific [-t numsegundos] [-d directorio] [-a archivo.txt].\n Donde se debe especificar, por lo menos -d o -a"
#define valid_commands "s: Abortar la ejecución del programa.\np: Pausar la verificación de directorios.\nc: Ranudar la verificación cuando la misma ha sido pausada.\n"
#define USERAGENT "HTMLGET 1.0"

/** Ammount of URLs to be inspected */
int num_url;

/** Second interval between two checks */
int num_sec = 0;

/** Array containing the URLs of the directories to be inspected */
char **dir_list = 0;

/** Method that inspects the directories contained in dir_list. Should be called when SIGALRM is raised */
void checkDir(int a);

/** Method to calculate the substring of a string */
char *substr(char *dest, char *source, int start, int end);

/** Auxiliar method that builds the html get query to request a page to a host*/
char *build_get_query(char *host, char *page);
